import {ElMessage, ElMessageBox} from "element-plus";
import {isEmpty} from "./helpers";

// 轻提示框二次封装
export default {
    /**
     * 提示信息
     * @param message 信息内容
     * @param isSuccess 是否是一条成功的提示信息
     */
    message(message, isSuccess = true) {
        if (isSuccess) {
            this.success(message)
        } else {
            this.error(message)
        }
    },
    // 成功信息提示 （谈绿色的）
    success(message, duration = 1500) {
        toastMessage(message, 'success', duration)
    },
    // 警告提示 （橘黄色的）
    warning(message, duration = 2000) {
        toastMessage(message, 'warning', duration)
    },
    info(message, duration = 1500) {
        toastMessage(message, 'info', duration)
    },
    // 错误信息 （红色的）
    error(message, duration = 3000) {
        toastMessage(message, 'error', duration)
    },
    // 确认操作弹框
    async confirm(message = '确定删除吗？', title = '确认提示', options = {}) {
        try {
            const res = await ElMessageBox.confirm(message, title, options);
            return res === 'confirm';
        } catch (e) {

        }
        return false;
    },
    close() {
        ElMessage.closeAll()
    }
}

function toastMessage(message, type, duration = 3000) {
    if (isEmpty(message)) {
        return;
    }
    ElMessage({
        message,
        duration,
        grouping: true,
        type,
    })
}
